16. 在多核系统上的并行模糊测试

您可以在主从模式下在系统上运行多个AFL实例。 这将有助于利用所有cpu核心和发现错误,并将提高模糊测试速度。

首先让我们看看机器有多少个内核,键入以下命令:

$ afl-gotcpu
afl-gotcpu 2.57b by <lcamtuf@google.com>
[*] Measuring per-core preemption rate (this will take 1.00 sec)...
    Core #0: CAUTION (114%)
    Core #1: AVAILABLE (99%)
    Core #2: AVAILABLE (103%)
    Core #6: AVAILABLE (109%)
    Core #3: AVAILABLE (100%)
    Core #7: AVAILABLE (105%)
    Core #5: AVAILABLE (102%)
    Core #4: AVAILABLE (106%)

>>> PASS: You can run more processes on 7 to 8 cores. <<<

你可以看到这台机器有8个核心,所以我们可以运行8个AFL实例。 现在模糊测试示例C程序。 您需要为主实例添加-M,并为所有从实例添加-S。 他们可以互相同步。

所以运行以下命令:

$ screen -S master
$ afl-fuzz -M master -i in/ -o out/ -m none -- ./imgRead_afl @@

按ctrl+d从屏幕会话中分离,然后键入以下内容以创建另一个屏幕会话:

$screen -S slave1
$ afl-fuzz -S slave1 -i in/ -o out/ -m none -- ./imgRead_afl @@

应该只有一个主设备,但可以运行多个从设备。试试这个。

下面的屏幕截图显示了它的外观:


来源: http://fuzzing.in/codelabs/fuzzing_opensource/index.html?index=..%2F..index#15